A digital-to-analog converter (DAC) can be characterized by an ideal linear transfer function. Various types of errors may cause the actual transfer function of a DAC to deviate from the ideal linear transfer function. First, offset errors may cause a vertical shift in the linear transfer function resulting in each actual output value being offset by a fixed value from the output values generated by the ideal transfer function. Second, gain errors may cause a shift in the slope of the transfer function resulting in an actual transfer function that is steeper than the ideal transfer function.
Sigma-delta digital-to-analog converters (SD DACs) are often used in mixed signal integrated circuits (ICs) that combine digital and analog circuits on the same substrate. Generally, SD DACs consist of a two-state voltage translator followed by a low-pass filter (LPF). The steady state output voltage of an SD DAC is proportional to the density-of-ones, or equivalent duty cycle, d, of the input data stream.
The two-state voltage translator may generate two different voltages depending upon the value of an incoming digital bit. For example, if the incoming digital bit is a logic one, the voltage translator may generate a first output voltage (VP) corresponding to a high logic value. On the other hand, if the incoming digital bit is a logic zero, the voltage translator may generate a second output voltage (VN) corresponding to a low logic value. An offset error may occur when the first and second output voltages of the translator are not equal. A gain error may occur when the average value of the first and second output voltages is not equal to the external reference voltage.
Current SD DAC designs have gain and offset errors that require correction in order to operate at a high precision. It may be possible to overcome these errors in an SD DAC in the digital domain by slight modifications applied to the density-of-ones pattern of the input data stream. However, making such modifications requires additional digital hardware, firmware, and/or software.